package cn.hr.entity;


import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;


/**
 * 个人记录实体类
 */
@Entity
@Table(name="tb_personalrecord"
    ,catalog="hrm"
)

public class PersonalRecord  implements java.io.Serializable {


    // Fields    

     /**
	 * 
	 */
	private static final long serialVersionUID = 3163377276079277372L;
	private Integer id;
     private Student student;
     private String type1;
     private String type2;
     private String type3;
     private String title;
     private String authenticator;
     private String contactWay;
     private Integer points;
     private Boolean state;
     private Timestamp passTime;
     private String content;
     private String attachment;


    // Constructors

    /** default constructor */
    public PersonalRecord() {
    }

	/** minimal constructor */
    public PersonalRecord(Student student, String type1, String type2, String type3, String title, String authenticator, String contactWay, Integer points, Boolean state, Timestamp passTime, String content) {
        this.student = student;
        this.type1 = type1;
        this.type2 = type2;
        this.type3 = type3;
        this.title = title;
        this.authenticator = authenticator;
        this.contactWay = contactWay;
        this.points = points;
        this.state = state;
        this.passTime = passTime;
        this.content = content;
    }
    
    /** full constructor */
    public PersonalRecord(Student student, String type1, String type2, String type3, String title, String authenticator, String contactWay, Integer points, Boolean state, Timestamp passTime, String content, String attachment) {
        this.student = student;
        this.type1 = type1;
        this.type2 = type2;
        this.type3 = type3;
        this.title = title;
        this.authenticator = authenticator;
        this.contactWay = contactWay;
        this.points = points;
        this.state = state;
        this.passTime = passTime;
        this.content = content;
        this.attachment = attachment;
    }

   
    // Property accessors
    @Id @GeneratedValue(strategy=IDENTITY)
    
    @Column(name="ID", unique=true, nullable=false)

    public Integer getId() {
        return this.id;
    }
    
    public void setId(Integer id) {
        this.id = id;
    }
	@ManyToOne(fetch=FetchType.LAZY)
        @JoinColumn(name="studentId", nullable=false)

    public Student getStudent() {
        return this.student;
    }
    
    public void setStudent(Student student) {
        this.student = student;
    }
    
    @Column(name="type1", nullable=false, length=16)

    public String getType1() {
        return this.type1;
    }
    
    public void setType1(String type1) {
        this.type1 = type1;
    }
    
    @Column(name="type2", nullable=false, length=16)

    public String getType2() {
        return this.type2;
    }
    
    public void setType2(String type2) {
        this.type2 = type2;
    }
    
    @Column(name="type3", nullable=false, length=16)

    public String getType3() {
        return this.type3;
    }
    
    public void setType3(String type3) {
        this.type3 = type3;
    }
    
    @Column(name="title", nullable=false, length=50)

    public String getTitle() {
        return this.title;
    }
    
    public void setTitle(String title) {
        this.title = title;
    }
    
    @Column(name="authenticator", nullable=false, length=32)

    public String getAuthenticator() {
        return this.authenticator;
    }
    
    public void setAuthenticator(String authenticator) {
        this.authenticator = authenticator;
    }
    
    @Column(name="contactWay", nullable=false, length=32)

    public String getContactWay() {
        return this.contactWay;
    }
    
    public void setContactWay(String contactWay) {
        this.contactWay = contactWay;
    }
    
    @Column(name="points", nullable=false)

    public Integer getPoints() {
        return this.points;
    }
    
    public void setPoints(Integer points) {
        this.points = points;
    }
    
    @Column(name="state", nullable=false)

    public Boolean getState() {
        return this.state;
    }
    
    public void setState(Boolean state) {
        this.state = state;
    }
    
    @Column(name="passTime", nullable=false, length=0)

    public Timestamp getPassTime() {
        return this.passTime;
    }
    
    public void setPassTime(Timestamp passTime) {
        this.passTime = passTime;
    }
    
    @Column(name="content", nullable=false)

    public String getContent() {
        return this.content;
    }
    
    public void setContent(String content) {
        this.content = content;
    }
    
    @Column(name="attachment")

    public String getAttachment() {
        return this.attachment;
    }
    
    public void setAttachment(String attachment) {
        this.attachment = attachment;
    }
   








}